package com.jt.controller;

import com.jt.service.FileService;
import com.jt.vo.ImageVO;
import com.jt.vo.SysResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;


@RestController
@CrossOrigin
@RequestMapping("/file")
public class FileController {
    @Autowired
    private FileService fileService;
    /**
     * 请求路径: http://localhost:8091/file/upload
     * 请求类型: post
     * 请求参数: file(binary)
     * 返回值结果： SysResult(ItemVO)
     * 缓冲流一次性多大的字节效率最高？  1024最高
     * 注意事项：关闭流文件
     * MultipartFile: SpringMVC 专门针对文件上传开发的API
     *
     */
    @PostMapping("/upload")
    public SysResult upload(MultipartFile file){
        //文件上传入门案例
        ImageVO imageVO = fileService.upload(file);
        //如果文件上传失败  返回什么：1.null  2.如果报错抛出异常
        if (imageVO==null){
            return SysResult.fail();//如果返回为null告知前端失败
        }
        return SysResult.success(imageVO);
    }
}
